9 research outputs found
Verifying Time Complexity of Deterministic Turing Machines
We show that, for all reasonable functions , we can
algorithmically verify whether a given one-tape Turing machine runs in time at
most . This is a tight bound on the order of growth for the function
because we prove that, for and , there
exists no algorithm that would verify whether a given one-tape Turing machine
runs in time at most .
We give results also for the case of multi-tape Turing machines. We show that
we can verify whether a given multi-tape Turing machine runs in time at most
iff for some .
We prove a very general undecidability result stating that, for any class of
functions that contains arbitrary large constants, we cannot
verify whether a given Turing machine runs in time for some
. In particular, we cannot verify whether a Turing machine
runs in constant, polynomial or exponential time.Comment: 18 pages, 1 figur
Simple PTAS's for families of graphs excluding a minor
We show that very simple algorithms based on local search are polynomial-time
approximation schemes for Maximum Independent Set, Minimum Vertex Cover and
Minimum Dominating Set, when the input graphs have a fixed forbidden minor.Comment: To appear in Discrete Applied Mathematic
Preverjanje časovne zahtevnosti Turingovih strojev
The central problem in the dissertation is the following: "For a function ▫▫, how hard is it to verify whether a given Turing machine runs in time at most ▫▫? Is it even possible?" Our first main contibution is that, for all reasonable functions ▫▫, it is possible to verify with an algorithm whether a given one-tape Turing machine runs in time at most ▫▫. This is a tight bound on the order of growth for the function ▫▫ because we prove that, for ▫▫ and ▫▫, there exists no algorithm that would verify whether a given one-tape Turing machine runs in time at most ▫▫. As opposed to one-tape Turing machines, we show that we can verify with an algorithm whether a given multi-tape Turing machine runs in time at most ▫▫ if and only if ▫▫ for some ▫▫. Linear time bounds are the most natural algorithmically verifiable time bounds for one-tape Turing machines, because a one-tape Turing machine that runs in time ▫▫ actually runs in linear time. This motivates our second main contibution which is the analysis of complexity of the following family of problems, parameterized by integers ▫▫ and ▫▫: "Does a given one-tape ▫▫-state Turing machine run in time ▫▫?" Assuming a fixed tape and input alphabet, we show that these problems are co-NP-complete and we provide good lower bounds. Specifically, these problems cannot be solved in ▫▫ non-deterministic time by multi-tape Turing machines. We also show that the complements of these problems can be solved in ▫▫ non-deterministic time and not in ▫▫ non-deterministic time by multi-tape Turing machines. To prove the upper bound ▫▫, we use the so-called compactness theorem which is our third main contribution. We need more notation to state it in full generality, but a simple corollary tells the following: To verify whether an input one-tape Turing machine runs in time ▫▫, it is enough to verify this on a finite number of inputs. We argue that our main results are proved with techniques that relativize and that using only such techniques we cannot solve the P versus NP problem.Osrednji problem v disertaciji je sledeč: "Naj bo ▫▫ poljubna funkcija. Kako težko je preveriti, ali je časovna zahtevnost danega Turingovega stroja ▫▫? Je to sploh mogoče preveriti?" Naš prvi večji prispevek pove, da je za vse "normalne" funkcije ▫▫ možno z algoritmom preveriti, ali je časovna zahtevnost danega enotračnega Turingovega stroja ▫▫. Meja ▫▫ je tesna, saj za ▫▫ in ▫▫ ni mogoče z algoritmom preveriti, ali je časovna zahtevnost danega enotračnega Turingovega stroja ▫▫. Pri večtračnih Turingovih strojih je rezultat enostavnejši. Zanje namreč velja, da je časovno zahtevnost ▫▫ moč z algoritmom preveriti natanko tedaj, ko velja ▫▫ za neki ▫▫. Znano je, da je vsak enotračni Turingov stroj časovne zahtevnosti ▫▫ tudi linearne časovne zahtevnosti. Posledično je linearna časovna zahtevnost najbolj naravna časovna zahtevnost, ki jo lahko z algoritmom preverimo pri enotračnih Turingovih strojih. V disertaciji se zato ukvarjamo tudi z naslednjimi problemi, ki so parametrizirani z naravnima številoma ▫▫ in ▫▫: "Ali je dani enotračni Turingov stroj s ▫▫ stanji časovne zahtevnosti ▫▫?" Pri analizi teh problemov, kar je naš drugi večji prispevek, predpostavljamo fiksno vhodno in tračno abecedo. Ti problemi so co-NP-polni in zanje lahko dokažemo dobre spodnje meje računske zahtevnosti. Ni jih namreč mogoče rešiti v času ▫▫ z nedeterminističnimi večtračnimi Turingovimi stroji. Še več, komplementi teh problemov so rešljivi z večtračnimi nedeterminističnimi Turingovimi stroji v času ▫▫, ne pa v času ▫▫. Pri dokazu zgornje meje ▫▫ uporabimo tako imenovani izrek o kompaktnosti, naš tretji večji prispevek. Potrebovali bi več notacije, da bi ga na tem mestu navedli, zato povejmo le njegovo posledico: Da bi preverili, ali dani enotračni Turingov stroj teče v času ▫▫, je dovolj preveriti čas izvajanja Turingovega stroja le na končno mnogo vhodih. Glavni prispevki te disertacije so dokazani s tehnikami, ki relativizirajo. Dokažemo tudi znano dejstvo, da s takimi tehnikami ni mogoče rešiti slavnega problema ▫▫